#ifndef BOARD_H
#define BOARD_H

#include <iostream>

enum CELL_STATE{EMPTY=0,OWNED_USER=10,OWNED_COMP=20};

typedef struct CELL_STRUCT
{
  int   owner;  //10=user, 20=computer
  char  color;

  CELL_STRUCT():owner(0),color('-'){}

}CELL;

typedef CELL GRID[10][10];     //BOARD[y][x]

typedef std::pair<int,int> MOVE;

class BOARD
{
public:
  BOARD();
  GRID grid;
  BOARD &operator=(BOARD const &other)
  {
    for(unsigned int y = 0; y < 10; ++y)
      for(unsigned int x = 0; x<10; ++x)
        grid[y][x] = other.grid[y][x];
    return *this;
  }
  int numMovesLeft();
  bool taken(MOVE &move);
};


#endif // BOARD_H
